package exo4;

/**
 * Documenter le rôle de la classe (ce qu'elle fait)
 * 
 * @author Edwige
 * @version 0.0.1
 */
public class Ouvrage {
	// Ordre de déclaration des attributs : private static final, private final, private
	/**
	 * Represente le carriage return.
	 */
	private String titre;
	private String media;
	private int anneeEdition;
	private boolean disponibilite;
	private boolean etatReservation;
	private Abonne emprunteur;// référence vers Abonne
	private Abonne reserveur;//référence vers Abonne

	/**
	 * Constructeur
	 * 
	 * @param titre
	 *            titre de l'ouvrage
	 * @param media
	 * @param annee
	 * @param dispo
	 * @param etat
	 * @param emprunteur
	 * @param reserveur
	 */

	public Ouvrage(String titre, String media, int annee, boolean dispo,
			boolean etat, Abonne emprunteur, Abonne reserveur) {
		this.titre = titre;
		this.media = media;
		this.anneeEdition = annee;
		this.disponibilite = dispo;
		this.etatReservation = etat;
		this.emprunteur = emprunteur;
		this.reserveur = reserveur;
	}

	public String getTitre() {
		return titre;
	}

	public boolean isDisponibilite() {
		return disponibilite;
	}

	public void setDisponibilite(boolean disponibilite) {
		this.disponibilite = disponibilite;
	}

	public boolean isEtatReservation() {
		return etatReservation;
	}

	public void setEtatReservation(boolean etatReservation) {
		this.etatReservation = etatReservation;
	}

	public Abonne getEmprunteur() {
		return emprunteur;
	}

	public void setEmprunteur(Abonne emprunteur) {
		this.emprunteur = emprunteur;
	}
	
	public Abonne getReserveur() {
		return reserveur;
	}

	public void setReserveur(Abonne reserveur) {
		this.reserveur = reserveur;
	}

	@Override
	public String toString() {
		StringBuffer sb = new StringBuffer();
		sb.append("TITRE : ").append(this.titre).append("\nmédia : ")
				.append(this.media).append("\nannée d'édition : ")
				.append(this.anneeEdition).append("\ndisponible : ")
				.append(this.disponibilite).append("\nétat de réservation : ")
				.append(this.etatReservation).append("\n");
		return sb.toString();
	}

}
